Dalam alam semesta yang elegan dari Ruby, tipe skalar adalah atom-atom tak terbagi dari logika. Berbeda dengan kontainer yang menyimpan kumpulan data, tipe skalar seperti Integer dan Float mewakili nilai-nilai tunggal dan presisi. Tipe-tipe ini berasal dari kelas Numeric kelas, mewarisi DNA yang kuat dari metode matematis.
Integer Elastis
Ruby mengelola memori dengan alkimia yang canggih. Ia membedakan antara Fixnum (bilangan bulat dalam rentang yang dioptimalkan perangkat keras) dan Bignum (bilangan bulat presisi tak terbatas). Pada sistem 64-bit, batasannya ditetapkan antara $-2^{62}$ dan $2^{62} - 1$.
Ketika suatu perhitungan melebihi batas ini, algoritma internal Ruby melakukan transisi diam-diam, mengalokasikan ulang memori menggunakan himpunan bilangan bulat pendek dengan panjang variabel. Ini melindungi pengembang dari overflow bilangan bulat yang umum terjadi pada bahasa tingkat rendah.
Berinteraksi dengan Tipe Skalar
Tipe skalar tidak pasif; mereka merespons metode seperti .abs dan berpartisipasi dalam alur fungsional melalui iterator. Untuk validasi ketat, metode Integer(objek) memastikan hanya data kompatibel numerik yang masuk ke logika Anda, melindungi sistem dari input yang rusak.